package com.yongoe.ecy.firstNode.service;

import com.yongoe.ecy.firstNode.entity.FirstNode;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yongoe.ecy.firstNode.entity.GraphData;

import java.util.List;

/**
 * 一级节点
 *
 * @author monad
 * @since 2024/03/10
 */
public interface FirstNodeService extends IService<FirstNode> {

    Page<FirstNode> getFirstNodeByPage(Page<FirstNode> page, FirstNode firstNode);

    // 新增一级节点
    Long addFirstNode(FirstNode firstNode);

    // 更新一级节点
    void updateFirstNode(FirstNode firstNode);

    // 批量删除一级节点(neo4j)
    void deleteFirstNodes(Long[] ids);

    // 批量删除一级节点(mysql)
    void deleteByIds(Long[] ids);

    // 删除全部一级节点(neo4j)
    void deleteAllNode();

    // 删除全部一级节点(mysql)
    void removeAll();

    // 查询子节点
    int selectChild(Long[] ids);

    List<GraphData> getNodeGraph(Long nodeId);
}
